//
//  HQL14_6ViewController.h
//  CoreAnimationDemo
//
//  Created by Qilin Hu on 2019/9/27.
//  Copyright © 2019 Tonintech. All rights reserved.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface HQL14_6ViewController : UIViewController

@end

NS_ASSUME_NONNULL_END

/*
 # 文件格式
 
 图片加载性能取决于加载大图的时间和解压小图时间的权衡。很多苹果的文档都说 PNG 是 iOS 所有图片加载的最好格式。但这是极度误导的过时信息了。

 PNG 图片使用的无损压缩算法可以比使用 JPEG 的图片做到更快地解压，但是由于闪存访问的原因，这些加载的时间并没有什么区别。
 
 清单 14.6 展示了标准的应用程序加载不同尺寸图片所需要时间的一些代码。
 为了保证实验的准确性，我们会测量每张图片的加载和绘制时间来确保考虑到解压性能的因素。
 另外每隔一秒重复加载和绘制图片，这样就可以取到平均时间，使得结果更加准确。
 
 PNG 和 JPEG 压缩算法作用于两种不同的图片类型：
 * JPEG 对于噪点大的图片效果很好；
 * 但是 PNG 更适合于扁平颜色，锋利的线条或者一些渐变色的图片。
 
 为了让测评的基准更加公平，我们用一些不同的图片来做实验：一张照片和一张彩虹色的渐变。
 JPEG 版本的图片都用默认的 Photoshop60%“高质量” 设置编码。结果见图片 14.5。

 如结果所示，相对于不友好的 PNG 图片，相同像素的 JPEG 图片总是比 PNG 加载更快，除非一些非常小的图片、但对于友好的 PNG 图片，一些中大尺寸的图效果还是很好的。
 
 所以对于之前的图片传送器程序来说，JPEG 会是个不错的选择。如果用 JPEG 的话，一些多线程和缓存策略都没必要了。
 但 JPEG 图片并不是所有情况都适用。如果图片需要一些透明效果，或者压缩之后细节损耗很多，那就该考虑用别的格式了。
 苹果在 iOS 系统中对 PNG 和 JPEG 都做了一些优化，所以普通情况下都应该用这种格式。也就是说在一些特殊的情况下才应该使用别的格式。

 
 
 */
